Hello, 各位 iT 邦幫忙 的粉絲們大家好~~~
在本系列文會利用目前 Visual Studio 內建的專案樣本建立一個初始的 .NET MAUI 專案,並且透過此 .NET MAUI 專案來把 TopStore App 的開發從 Xamairn.Forms 轉換到 .NET MAUI 上進行。
本篇是 Re: 從零改成用 .NET MAUI 技術來繼續過去用 Xamarin 開發的一個 App : TopStore 系列 系列文的 EP04。
而在 .NET MAUI 的設計中,透過 單一專案 可以在不同平台當中共享 App 所需的資源檔案 (Resource-Files)。
先前在 Xamarin.Forms 版本的 TopStoreApp 專案當中,就已透過當時的既有的作法 App 圖示(或俗稱 App Logo) 與 共用字型圖示檔,而啟動畫面(Android、iOS),在當時都有透過各平台實作去完成。
所以,如果要善用 .NET MAUI 帶來的新作法(雖然更便捷了但不一定完全是好處,因為也有可能要針對不同平台有客製化的需求要處理),那就要順勢調整一下這個部分。
首先,共用字型圖示檔是最簡單的,在 Xamarin.Forms 專案當中找到 Assets 資料夾,把 "FontAwesome5.oft" 拉到 .NET MAUI 的 Resources 資料夾下的 Fonts 資料夾(預設範本內已經有兩個字型檔存在)。
在 Xamarin.Forms 專案資料夾中找到 "FontAwesome5.oft" 檔案:
.NET MAUI 專案放置完成(注意檔案的屬性建置動作會是 "MauiFont"):
再來,則是比較弔詭的部分。由於當初撰寫 Xamarin.Forms 版本的 TopStore App 的時候,還沒有這種共用 "App 圖示" 與 "啟動畫面" 的設計,所以就先使用放在 Xamarin.Android 專案當中的圖片檔案來處理,可能後續需要透過 *.svg 調整。
共用 "App 圖示" 的部分:
在 Xamarin.Android 專案資料夾中找到 icon.png 檔案(先找解析度最大的那個來用):
放置到 .NET MAUI 專案的 Resources 底下的 AppIcon 完成(預設範本內已經有兩個檔案存在,且注意檔案的屬性建置動作會是 "MauiIcon"):
共用 "啟動畫面" 的部分:
在 Xamarin.Android 專案資料夾中找到 launcher.jpg 檔案(先找解析度最大的那個來用):
放置到 .NET MAUI 專案的 Resources 底下的 Splash 完成(預設範本內已經有一個檔案存在,且注意檔案的屬性建置動作會是 "MauiSplashScreen"):
其他在 .NET MAUI 專案 Resources 當中的 Images、Raw、Styles 則是因為都尚未在 Xamairn.Forms 版本中的 TopStoreApp 專案實作到,所以就暫時沒有對照調整的機會,但在後面會有介紹使用的機會的。
本 EP 介紹所完成的範例程式碼可在此下載。